// ****************************************************************************** 
// Copyright     :  Copyright (C) 2018, Hisilicon Technologies Co. Ltd.
// File name     :  gicr_vlpi_regs_c_union_define.h
// Project line  :  Platform And Key Technologies Development
// Department    :  CAD Development Department
// Author        :  xxx
// Version       :  1
// Date          :  2013/3/10
// Description   :  The description of xxx project
// Others        :  Generated automatically by nManager V4.2 
// History       :  xxx 2018/05/11 14:50:31 Create file
// ******************************************************************************

#ifndef __GICR_VLPI_REGS_C_UNION_DEFINE_H__
#define __GICR_VLPI_REGS_C_UNION_DEFINE_H__

/* Define the union U_GICR_VSETLPIR_L */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_vsetlpi_pid : 16  ; /* [31:16] */
        unsigned int    gicr_vsetlpi_vid : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VSETLPIR_L;

/* Define the union U_GICR_VSETLPIR_H */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_vsetlpi_vpt : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VSETLPIR_H;

/* Define the union U_GICR_VCLRLPIR_L */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_vclrlpi_vid : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VCLRLPIR_L;

/* Define the union U_GICR_VCLRLPIR_H */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_vclrlpi_vpt : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VCLRLPIR_H;

/* Define the union U_GICR_VPROPBASER_L */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_vprobaser_l      : 20  ; /* [31:12] */
        unsigned int    gicr_vproshareability : 2  ; /* [11:10] */
        unsigned int    gicr_vprocacheability : 3  ; /* [9:7] */
        unsigned int    rsv_0                 : 2  ; /* [6:5] */
        unsigned int    gicr_vidnob           : 5  ; /* [4:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VPROPBASER_L;

/* Define the union U_GICR_VPROPBASER_H */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_1            : 16  ; /* [31:16] */
        unsigned int    gicr_vprobaser_h : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VPROPBASER_H;

/* Define the union U_GICR_VPENDBASER_L */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_vpendbaser_l      : 16  ; /* [31:16] */
        unsigned int    rsv_2                  : 4  ; /* [15:12] */
        unsigned int    gicr_vpendshareability : 2  ; /* [11:10] */
        unsigned int    gicr_vpendcacheability : 3  ; /* [9:7] */
        unsigned int    rsv_3                  : 7  ; /* [6:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VPENDBASER_L;

/* Define the union U_GICR_VPENDBASER_H */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_vpendbaser_valid  : 1  ; /* [31] */
        unsigned int    gicr_vpendbaser_cgmi   : 1  ; /* [30] */
        unsigned int    gicr_vpendbaser_pdlast : 1  ; /* [29] */
        unsigned int    gicr_vpendbaser_dirty  : 1  ; /* [28] */
        unsigned int    rsv_4                  : 12  ; /* [27:16] */
        unsigned int    gicr_vpendbaser_h      : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VPENDBASER_H;

/* Define the union U_GICR_VINVR_L */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_vinvlpi_vid : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VINVR_L;

/* Define the union U_GICR_VINVR_H */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_vinvlpi_vpt : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VINVR_H;

/* Define the union U_GICR_VINVALLR_L */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_5 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VINVALLR_L;

/* Define the union U_GICR_VINVALLR_H */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_vinvalllpi_vpt : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VINVALLR_H;

/* Define the union U_GICR_VSYNCR */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_6            : 31  ; /* [31:1] */
        unsigned int    gicr_vsyncr_busy : 1  ; /* [0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VSYNCR;

/* Define the union U_GICR_VSRCR0_L */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_vsrc0_pa_l : 16  ; /* [31:16] */
        unsigned int    rsv_7           : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VSRCR0_L;

/* Define the union U_GICR_VSRCR0_H */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_8           : 16  ; /* [31:16] */
        unsigned int    gicr_vsrc0_pa_h : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VSRCR0_H;

/* Define the union U_GICR_VSRCR1_L */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_vsrc1_pa_l : 16  ; /* [31:16] */
        unsigned int    rsv_9           : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VSRCR1_L;

/* Define the union U_GICR_VSRCR1_H */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_10          : 16  ; /* [31:16] */
        unsigned int    gicr_vsrc1_pa_h : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VSRCR1_H;

/* Define the union U_GICR_VSRCR2_L */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_vsrc2_pa_l : 16  ; /* [31:16] */
        unsigned int    rsv_11          : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VSRCR2_L;

/* Define the union U_GICR_VSRCR2_H */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_12          : 16  ; /* [31:16] */
        unsigned int    gicr_vsrc2_pa_h : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VSRCR2_H;

/* Define the union U_GICR_VDESTR0_L */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_vdest0_pa_l : 16  ; /* [31:16] */
        unsigned int    gicr_vdest0_pid  : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VDESTR0_L;

/* Define the union U_GICR_VDESTR0_H */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_13           : 16  ; /* [31:16] */
        unsigned int    gicr_vdest0_pa_h : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VDESTR0_H;

/* Define the union U_GICR_VDESTR1_L */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_vdest1_pa_l : 16  ; /* [31:16] */
        unsigned int    gicr_vdest1_pid  : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VDESTR1_L;

/* Define the union U_GICR_VDESTR1_H */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_14           : 16  ; /* [31:16] */
        unsigned int    gicr_vdest1_pa_h : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VDESTR1_H;

/* Define the union U_GICR_VDESTR2_L */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_vdest2_pa_l : 16  ; /* [31:16] */
        unsigned int    gicr_vdest2_pid  : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VDESTR2_L;

/* Define the union U_GICR_VDESTR2_H */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_15           : 16  ; /* [31:16] */
        unsigned int    gicr_vdest2_pa_h : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VDESTR2_H;

/* Define the union U_GICR_VMOVLPIR0_L */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_vmovlpi0_vid : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VMOVLPIR0_L;

/* Define the union U_GICR_VMOVLPIR0_H */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_vmovlpi0_ta : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VMOVLPIR0_H;

/* Define the union U_GICR_VMOVLPIR1_L */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_vmovlpi1_vid : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VMOVLPIR1_L;

/* Define the union U_GICR_VMOVLPIR1_H */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_vmovlpi1_ta : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VMOVLPIR1_H;

/* Define the union U_GICR_VMOVLPIR2_L */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_vmovlpi2_vid : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VMOVLPIR2_L;

/* Define the union U_GICR_VMOVLPIR2_H */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_vmovlpi2_ta : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_VMOVLPIR2_H;


//==============================================================================
/* Define the global struct */
typedef struct
{
    volatile U_GICR_VSETLPIR_L   GICR_VSETLPIR_L   ; /* 40 */
    volatile U_GICR_VSETLPIR_H   GICR_VSETLPIR_H   ; /* 44 */
    volatile U_GICR_VCLRLPIR_L   GICR_VCLRLPIR_L   ; /* 48 */
    volatile U_GICR_VCLRLPIR_H   GICR_VCLRLPIR_H   ; /* 4C */
    volatile U_GICR_VPROPBASER_L GICR_VPROPBASER_L ; /* 70 */
    volatile U_GICR_VPROPBASER_H GICR_VPROPBASER_H ; /* 74 */
    volatile U_GICR_VPENDBASER_L GICR_VPENDBASER_L ; /* 78 */
    volatile U_GICR_VPENDBASER_H GICR_VPENDBASER_H ; /* 7C */
    volatile U_GICR_VINVR_L      GICR_VINVR_L      ; /* A0 */
    volatile U_GICR_VINVR_H      GICR_VINVR_H      ; /* A4 */
    volatile U_GICR_VINVALLR_L   GICR_VINVALLR_L   ; /* B0 */
    volatile U_GICR_VINVALLR_H   GICR_VINVALLR_H   ; /* B4 */
    volatile U_GICR_VSYNCR       GICR_VSYNCR       ; /* C0 */
    volatile U_GICR_VSRCR0_L     GICR_VSRCR0_L     ; /* 100 */
    volatile U_GICR_VSRCR0_H     GICR_VSRCR0_H     ; /* 104 */
    volatile U_GICR_VSRCR1_L     GICR_VSRCR1_L     ; /* 108 */
    volatile U_GICR_VSRCR1_H     GICR_VSRCR1_H     ; /* 10C */
    volatile U_GICR_VSRCR2_L     GICR_VSRCR2_L     ; /* 110 */
    volatile U_GICR_VSRCR2_H     GICR_VSRCR2_H     ; /* 114 */
    volatile U_GICR_VDESTR0_L    GICR_VDESTR0_L    ; /* 180 */
    volatile U_GICR_VDESTR0_H    GICR_VDESTR0_H    ; /* 184 */
    volatile U_GICR_VDESTR1_L    GICR_VDESTR1_L    ; /* 188 */
    volatile U_GICR_VDESTR1_H    GICR_VDESTR1_H    ; /* 18C */
    volatile U_GICR_VDESTR2_L    GICR_VDESTR2_L    ; /* 190 */
    volatile U_GICR_VDESTR2_H    GICR_VDESTR2_H    ; /* 194 */
    volatile U_GICR_VMOVLPIR0_L  GICR_VMOVLPIR0_L  ; /* 200 */
    volatile U_GICR_VMOVLPIR0_H  GICR_VMOVLPIR0_H  ; /* 204 */
    volatile U_GICR_VMOVLPIR1_L  GICR_VMOVLPIR1_L  ; /* 208 */
    volatile U_GICR_VMOVLPIR1_H  GICR_VMOVLPIR1_H  ; /* 20C */
    volatile U_GICR_VMOVLPIR2_L  GICR_VMOVLPIR2_L  ; /* 210 */
    volatile U_GICR_VMOVLPIR2_H  GICR_VMOVLPIR2_H  ; /* 214 */

} S_gicr_vlpi_regs_REGS_TYPE;

/* Declare the struct pointor of the module gicr_vlpi_regs */
extern volatile S_gicr_vlpi_regs_REGS_TYPE *gopgicr_vlpi_regsAllReg;

/* Declare the functions that set the member value */
int iSetGICR_VSETLPIR_L_gicr_vsetlpi_pid(unsigned int ugicr_vsetlpi_pid);
int iSetGICR_VSETLPIR_L_gicr_vsetlpi_vid(unsigned int ugicr_vsetlpi_vid);
int iSetGICR_VSETLPIR_H_gicr_vsetlpi_vpt(unsigned int ugicr_vsetlpi_vpt);
int iSetGICR_VCLRLPIR_L_gicr_vclrlpi_vid(unsigned int ugicr_vclrlpi_vid);
int iSetGICR_VCLRLPIR_H_gicr_vclrlpi_vpt(unsigned int ugicr_vclrlpi_vpt);
int iSetGICR_VPROPBASER_L_gicr_vprobaser_l(unsigned int ugicr_vprobaser_l);
int iSetGICR_VPROPBASER_L_gicr_vproshareability(unsigned int ugicr_vproshareability);
int iSetGICR_VPROPBASER_L_gicr_vprocacheability(unsigned int ugicr_vprocacheability);
int iSetGICR_VPROPBASER_L_gicr_vidnob(unsigned int ugicr_vidnob);
int iSetGICR_VPROPBASER_H_gicr_vprobaser_h(unsigned int ugicr_vprobaser_h);
int iSetGICR_VPENDBASER_L_gicr_vpendbaser_l(unsigned int ugicr_vpendbaser_l);
int iSetGICR_VPENDBASER_L_gicr_vpendshareability(unsigned int ugicr_vpendshareability);
int iSetGICR_VPENDBASER_L_gicr_vpendcacheability(unsigned int ugicr_vpendcacheability);
int iSetGICR_VPENDBASER_H_gicr_vpendbaser_valid(unsigned int ugicr_vpendbaser_valid);
int iSetGICR_VPENDBASER_H_gicr_vpendbaser_cgmi(unsigned int ugicr_vpendbaser_cgmi);
int iSetGICR_VPENDBASER_H_gicr_vpendbaser_pdlast(unsigned int ugicr_vpendbaser_pdlast);
int iSetGICR_VPENDBASER_H_gicr_vpendbaser_dirty(unsigned int ugicr_vpendbaser_dirty);
int iSetGICR_VPENDBASER_H_gicr_vpendbaser_h(unsigned int ugicr_vpendbaser_h);
int iSetGICR_VINVR_L_gicr_vinvlpi_vid(unsigned int ugicr_vinvlpi_vid);
int iSetGICR_VINVR_H_gicr_vinvlpi_vpt(unsigned int ugicr_vinvlpi_vpt);

int iSetGICR_VINVALLR_H_gicr_vinvalllpi_vpt(unsigned int ugicr_vinvalllpi_vpt);
int iSetGICR_VSYNCR_gicr_vsyncr_busy(unsigned int ugicr_vsyncr_busy);
int iSetGICR_VSRCR0_L_gicr_vsrc0_pa_l(unsigned int ugicr_vsrc0_pa_l);
int iSetGICR_VSRCR0_H_gicr_vsrc0_pa_h(unsigned int ugicr_vsrc0_pa_h);
int iSetGICR_VSRCR1_L_gicr_vsrc1_pa_l(unsigned int ugicr_vsrc1_pa_l);
int iSetGICR_VSRCR1_H_gicr_vsrc1_pa_h(unsigned int ugicr_vsrc1_pa_h);
int iSetGICR_VSRCR2_L_gicr_vsrc2_pa_l(unsigned int ugicr_vsrc2_pa_l);
int iSetGICR_VSRCR2_H_gicr_vsrc2_pa_h(unsigned int ugicr_vsrc2_pa_h);
int iSetGICR_VDESTR0_L_gicr_vdest0_pa_l(unsigned int ugicr_vdest0_pa_l);
int iSetGICR_VDESTR0_L_gicr_vdest0_pid(unsigned int ugicr_vdest0_pid);
int iSetGICR_VDESTR0_H_gicr_vdest0_pa_h(unsigned int ugicr_vdest0_pa_h);
int iSetGICR_VDESTR1_L_gicr_vdest1_pa_l(unsigned int ugicr_vdest1_pa_l);
int iSetGICR_VDESTR1_L_gicr_vdest1_pid(unsigned int ugicr_vdest1_pid);
int iSetGICR_VDESTR1_H_gicr_vdest1_pa_h(unsigned int ugicr_vdest1_pa_h);
int iSetGICR_VDESTR2_L_gicr_vdest2_pa_l(unsigned int ugicr_vdest2_pa_l);
int iSetGICR_VDESTR2_L_gicr_vdest2_pid(unsigned int ugicr_vdest2_pid);
int iSetGICR_VDESTR2_H_gicr_vdest2_pa_h(unsigned int ugicr_vdest2_pa_h);
int iSetGICR_VMOVLPIR0_L_gicr_vmovlpi0_vid(unsigned int ugicr_vmovlpi0_vid);
int iSetGICR_VMOVLPIR0_H_gicr_vmovlpi0_ta(unsigned int ugicr_vmovlpi0_ta);
int iSetGICR_VMOVLPIR1_L_gicr_vmovlpi1_vid(unsigned int ugicr_vmovlpi1_vid);
int iSetGICR_VMOVLPIR1_H_gicr_vmovlpi1_ta(unsigned int ugicr_vmovlpi1_ta);
int iSetGICR_VMOVLPIR2_L_gicr_vmovlpi2_vid(unsigned int ugicr_vmovlpi2_vid);
int iSetGICR_VMOVLPIR2_H_gicr_vmovlpi2_ta(unsigned int ugicr_vmovlpi2_ta);

#endif // __GICR_VLPI_REGS_C_UNION_DEFINE_H__
